Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

SSE3
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbqSSE3 (conosciuto anche con il nome di mwbgPrescott New Instructions o mwbwPNI) è un mwcainstruction set mwcqSIMD dell'architettura mwcgIA-32, sviluppato da mwcwIntel, che estende la precedente versione (SSE2).

I primi set SIMD sulle piattaforme mwdqx86 sono stati l'mwdgMMX, e il mwdw3DNow! (usato solo da parte di mweaAMD), e successivamente mweqSSE e mwegSSE2.

Intel ha introdotto le istruzioni SSE3 agli inizi del mwfa2004 con il mwfqPentium 4 basato sul core mwfgPrescott, mentre mwfwAMD ha provveduto a implementarne il supporto nei suoi mwgaAthlon 64, attraverso la "revision" E, solo nell'aprile mwgq2005.

Il set SSE3 originale aggiunge 13 nuove istruzioni rispetto al predecessore mwgwSSE2; la più rivoluzionaria di queste istruzioni consente di lavorare orizzontalmente in un registro in contrapposizione con quanto avveniva precedentemente in cui era possibile solo verticalmente. Più precisamente, sono state aggiunte le istruzioni per sommare e sottrarre i molteplici valori memorizzati in un singolo registro. Tali istruzioni semplificano l'implementazione di un gran numero di operazioni mwhaDSP e mwhq3D. È inoltre presente una nuova istruzione per convertire i mwhgnumeri a virgola mobile in interi senza interferire con il normale flusso dell'elaborazione della mwhwCPU, quindi senza creare stalli nella mwiapipeline.

Nel mwig2006, con il lancio dell'architettura mwiwIntel Core Microarchitecture è stata lanciata sul mercato un'evoluzione del set SSE3, chiamato mwjaSSSE3 che aggiunge altre 32 istruzioni e ottimizza una serie di aspetti del set originale.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Nuove istruzioni

Aritmetiche

• ADDSUBPD - (mwkgAdd-Subtract-Packed-Double)

• Input - { A0, A1 }, { B0, B1 }
• Output - { A0 - B0, A1 + B1 }

• ADDSUBPS - (mwlwAdd-Subtract-Packed-Single)

• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 - B0, A1 + B1, A2 - B2, A3 + B3 }

AOS ( Array di Strutture )v

• HADDPD - (mwngHorizontal-Add-Packed-Double)

• Input: { A0, A1 }, { B0, B1 }
• Output: { A0 + A1, B0 + B1 }

• HADDPS (mwowHorizontal-Add-Packed-Single)

• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 + A1, A2 + A3, B0 + B1, B2 + B3 }

• HSUBPD - (mwqaHorizontal-Subtract-Packed-Double)

• Input: { A0, A1 }, { B0, B1 }
• Output: { A0 - A1, B0 - B1 }

• HSUBPS - (mwrqHorizontal-Subtract-Packed-Single)

• Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
• Output: { A0 - A1, A2 - A3, B0 - B1, B2 - B3 }

• LDDQU - un modo alternativo di caricare un vettore che non è allineato correttamente in memoria. Può servire per operazioni di compressione video.
• MOVDDUP, MOVSHDUP, MOVSLDUP - queste operazioni si prestano molto bene per calcoli su numeri complessi e vengono usate molto in calcoli su sinusoidi e suoni.
• FISTTP - analoga alla vecchia istruzione FISTP x87, ma ignora il metodo di arrotondamento impostato nel registro di controllo SSE e usa invece il troncamento; permette di evitare il salvataggio e caricamento del registro di controllo in linguaggi come il C, dove le conversioni da float a int prevedono il troncamento come comportamento standard.

Istruzioni specifiche Intel

• MONITOR, MWAIT - Pensate per ottimizzare applicazioni multi-threaded, migliorano le prestazioni dei processori con mwtwHyper-Threading.

Voci correlate

• mwuwMMX
• mwvwSSE2
• mwwqSSE4
• mwww3DNow!